Software applications are often written with one language for users in mind. Menus, dialogs, labels, and/or other text shown by the application may be fixed in that language. By contrast, other applications are internationalized. Internationalization typically involves designing the application in a special way so that it may be adapted to different languages and regional variations.